﻿/**	@file		shower_factory.h
 *	@date		(2011-08-02 21:44:25)/(2011-08-02 21:44:27)
 *-----------------------------------------------------------------------------
 *	@version	1.0.1.1
 *	@author		Nick Shallery	(nicknide@gmail.com)
 *	@copyright	YOU HAVE ALL LEFT WITH THIS CODE WHILE YOU KEEP COMMENT IN EVERY COPY.
 *-----------------------------------------------------------------------------
**/

#if			!defined(__LOLIX__LX_SHOWER__SHOWER_FACTORY__NICK__K_IN_G__)
#define		__LOLIX__LX_SHOWER__SHOWER_FACTORY__NICK__K_IN_G__

#if			!defined(__LOLIX__LOLI_X_MACRO__K_IN_G__)
	#include	"../lolix/lolix_macro.h"
#endif	//	!defined(__LOLIX__LOLI_X_MACRO__K_IN_G__)

#if			!defined(__LOLIX__LOLIX_TYPE__K_IN_G__)
	#include	"../lolix/lolix_type.h"
#endif	//	!defined(__LOLIX__LOLIX_TYPE__K_IN_G__)

#if			!defined(__LOLIX__LXSHOWER__SHOWER_TYPES__NICK__K_IN_G__)
	#include	"./shower_types.h"
#endif	//	!defined(__LOLIX__LXSHOWER__SHOWER_TYPES__NICK__K_IN_G__)

namespace lolix{namespace pretty{
	class canvas_package;
}}

namespace lxshower{
	class shower_room;
	class material_manager;
	class LOLIX_NO_VTABLE shower_factory
		: public lolix::itf
	{
	public:
		LOLIX_DECLARE_ITF(lxshower::shower_factory, lolix::itf, (0x12ab5669, 0xe1982e41, 0x8c533d2f, 0x64541f12));
		LOLIX_INTERFACE(create_room	, lolix::LOLIX_RETNV	, (shower_room** out_ptr, shower_size const* sz/*整个的长宽高*/));
		//LOLIX_INTERFACE(create_material_mng, lolix::LOLIX_RETNV, (material_manager** mat_mng, lolix::pretty::canvas_package*));
	};
}

#endif	//	!defined(__LOLIX__LX_SHOWER__SHOWER_FACTORY__NICK__K_IN_G__)
